[INFO] cloning repository https://github.com/ytham/SousDev
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ytham/SousDev" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytham%2FSousDev", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytham%2FSousDev'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df4ffbe95a23384912900d520b9a1da85dd7ec0a
[INFO] testing ytham/SousDev against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fytham%2FSousDev" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ytham/SousDev
[INFO] finished tweaking git repo https://github.com/ytham/SousDev
[INFO] tweaked toml for git repo https://github.com/ytham/SousDev written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ytham/SousDev on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ytham/SousDev already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mockall v0.13.1
[INFO] [stderr]   Downloaded tokio-cron-scheduler v0.13.0
[INFO] [stderr]   Downloaded fragile v2.0.1
[INFO] [stderr]   Downloaded mockall_derive v0.13.1
[INFO] [stderr]   Downloaded tree_magic_mini v3.2.2
[INFO] [stderr]   Downloaded wayland-sys v0.29.5
[INFO] [stderr]   Downloaded os_pipe v1.2.3
[INFO] [stderr]   Downloaded str-buf v1.0.6
[INFO] [stderr]   Downloaded error-code v2.3.1
[INFO] [stderr]   Downloaded x11-clipboard v0.7.1
[INFO] [stderr]   Downloaded wayland-scanner v0.29.5
[INFO] [stderr]   Downloaded wayland-commons v0.29.5
[INFO] [stderr]   Downloaded winapi-wsapoll v0.1.2
[INFO] [stderr]   Downloaded croner v2.2.0
[INFO] [stderr]   Downloaded cli-clipboard v0.4.0
[INFO] [stderr]   Downloaded wl-clipboard-rs v0.7.0
[INFO] [stderr]   Downloaded derive-new v0.5.9
[INFO] [stderr]   Downloaded clipboard-win v4.5.0
[INFO] [stderr]   Downloaded wayland-client v0.29.5
[INFO] [stderr]   Downloaded wayland-protocols v0.29.5
[INFO] [stderr]   Downloaded iri-string v0.7.11
[INFO] [stderr]   Downloaded x11rb v0.10.1
[INFO] [stderr]   Downloaded x11rb-protocol v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 16d248fa405d42b92768a052215b7af3091d80544097a704a32140ee7143d630
[INFO] running `Command { std: "docker" "start" "-a" "16d248fa405d42b92768a052215b7af3091d80544097a704a32140ee7143d630", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16d248fa405d42b92768a052215b7af3091d80544097a704a32140ee7143d630", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16d248fa405d42b92768a052215b7af3091d80544097a704a32140ee7143d630", kill_on_drop: false }`
[INFO] [stdout] 16d248fa405d42b92768a052215b7af3091d80544097a704a32140ee7143d630
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a7397fc66c59e5d02b4b87bd95966c20724ae727de061689e0f8a69b3cad298
[INFO] running `Command { std: "docker" "start" "-a" "6a7397fc66c59e5d02b4b87bd95966c20724ae727de061689e0f8a69b3cad298", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling petgraph v0.8.3
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling os_pipe v1.2.3
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling tokio-cron-scheduler v0.13.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling tree_magic_mini v3.2.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling x11rb-protocol v0.10.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling croner v2.2.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling x11rb v0.10.1
[INFO] [stderr]    Compiling x11-clipboard v0.7.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling wl-clipboard-rs v0.7.0
[INFO] [stderr]    Compiling cli-clipboard v0.4.0
[INFO] [stderr]    Compiling sousdev v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wl-clipboard-rs v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6a7397fc66c59e5d02b4b87bd95966c20724ae727de061689e0f8a69b3cad298", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a7397fc66c59e5d02b4b87bd95966c20724ae727de061689e0f8a69b3cad298", kill_on_drop: false }`
[INFO] [stdout] 6a7397fc66c59e5d02b4b87bd95966c20724ae727de061689e0f8a69b3cad298
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2f79709c22ab3ba4b6ad17b5b1da2bbb50be2b0fcc5b5867725c4ce2a666e90
[INFO] running `Command { std: "docker" "start" "-a" "c2f79709c22ab3ba4b6ad17b5b1da2bbb50be2b0fcc5b5867725c4ce2a666e90", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling tokio-cron-scheduler v0.13.0
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling sousdev v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::workflows::workflow::ParsedTask`
[INFO] [stdout]    --> src/workflows/stages/pr_description.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |         use crate::workflows::workflow::ParsedTask;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]     --> src/tui/app.rs:2685:5
[INFO] [stdout]      |
[INFO] [stdout] 2685 |     #[test]
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 56.99s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wl-clipboard-rs v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "c2f79709c22ab3ba4b6ad17b5b1da2bbb50be2b0fcc5b5867725c4ce2a666e90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2f79709c22ab3ba4b6ad17b5b1da2bbb50be2b0fcc5b5867725c4ce2a666e90", kill_on_drop: false }`
[INFO] [stdout] c2f79709c22ab3ba4b6ad17b5b1da2bbb50be2b0fcc5b5867725c4ce2a666e90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ab0444fdecf83d3e0bb623dafd2acd501a837ef20a7ea00fc424f7770ddf334b
[INFO] running `Command { std: "docker" "start" "-a" "ab0444fdecf83d3e0bb623dafd2acd501a837ef20a7ea00fc424f7770ddf334b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::workflows::workflow::ParsedTask`
[INFO] [stderr]    --> src/workflows/stages/pr_description.rs:337:13
[INFO] [stderr]     |
[INFO] [stderr] 337 |         use crate::workflows::workflow::ParsedTask;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: duplicated attribute
[INFO] [stderr]     --> src/tui/app.rs:2685:5
[INFO] [stderr]      |
[INFO] [stderr] 2685 |     #[test]
[INFO] [stderr]      |     ^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `sousdev` (lib test) generated 2 warnings (run `cargo fix --lib -p sousdev --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.69s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wl-clipboard-rs v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sousdev-4450147bd50e6d2c)
[INFO] [stdout] 
[INFO] [stdout] running 642 tests
[INFO] [stdout] test providers::provider::tests::test_completion_result_default ... ok
[INFO] [stdout] test providers::provider::tests::test_message_openai_tool_result ... ok
[INFO] [stdout] test providers::provider::tests::test_content_block_serialization ... ok
[INFO] [stdout] test providers::provider::tests::test_message_tool_results ... ok
[INFO] [stdout] test providers::provider::tests::test_message_constructors_backward_compat ... ok
[INFO] [stdout] test techniques::critique_loop::tests::test_parse_score_clamps ... ok
[INFO] [stdout] test techniques::critique_loop::tests::test_parse_score_float ... ok
[INFO] [stdout] test techniques::critique_loop::tests::test_critique_round_serde ... ok
[INFO] [stdout] test techniques::critique_loop::tests::test_parse_score_found ... ok
[INFO] [stdout] test techniques::critique_loop::tests::test_parse_score_not_found ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_build_initial_prompt_contains_fields ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_build_plan_prompt_standard ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_aggregation_from_str ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_build_debate_prompt_contains_others ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_extract_plan_steps_empty ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_build_plan_prompt_detailed ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_build_debate_prompt_no_others ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_run_multi_agent_debate_judge ... ok
[INFO] [stdout] test techniques::react::tests::test_parse_tool_call_bare_json ... ok
[INFO] [stdout] test techniques::react::tests::test_extract_json_candidates_fenced ... ok
[INFO] [stdout] test providers::tests::resolve_unknown_errors ... ok
[INFO] [stdout] test techniques::react::tests::test_extract_json_candidates_bare ... ok
[INFO] [stdout] test techniques::react::tests::test_parse_tool_call_json_fenced ... ok
[INFO] [stdout] test techniques::reflexion::tests::test_build_trial_context_respects_window ... ok
[INFO] [stdout] test techniques::reflexion::tests::test_build_trial_context_no_reflections ... ok
[INFO] [stdout] test techniques::react::tests::test_parse_tool_call_plain_text_none ... ok
[INFO] [stdout] test techniques::reflexion::tests::test_build_trial_context_with_reflections ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_extract_plan_steps_fallback_lines ... ok
[INFO] [stdout] test techniques::react::tests::test_parse_tool_call_xml_style ... ok
[INFO] [stdout] test techniques::react::tests::test_run_react_returns_final_answer_immediately ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_is_step_heading_numbered ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_majority_vote_clear_winner ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_majority_vote_empty ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_majority_vote_exact_half_no_majority ... ok
[INFO] [stdout] test techniques::reflexion::tests::test_run_reflexion_succeeds_first_trial ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_majority_vote_no_majority ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_majority_vote_single ... ok
[INFO] [stdout] test techniques::self_consistency::tests::test_run_self_consistency_returns_majority ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_assemble_answer_empty_fallback ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_run_skeleton_of_thought_basic ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_parse_outline_points_numbered_paren ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_build_full_context_both ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_build_full_context_empty_thought ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_build_full_context_empty_context ... ok
[INFO] [stdout] test techniques::multi_agent_debate::tests::test_run_multi_agent_debate_majority ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_parse_outline_points_empty ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_parse_score_clamped ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_parse_score_default ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_parse_score_explicit ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_parse_score_fallback_integer ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_strategy_default_is_bfs ... ok
[INFO] [stdout] test techniques::tree_of_thoughts::tests::test_run_tree_of_thoughts_bfs ... ok
[INFO] [stdout] test tools::built_ins::tests::test_read_nonexistent_file_errors ... ok
[INFO] [stdout] test tools::built_ins::tests::test_shell_tool_stderr ... ok
[INFO] [stdout] test tools::built_ins::tests::test_write_missing_path_errors ... ok
[INFO] [stdout] test tools::registry::tests::test_all_returns_all_tools ... ok
[INFO] [stdout] test techniques::react::tests::test_parse_tool_call_json_missing_tool_key ... ok
[INFO] [stdout] test tools::registry::tests::test_registry_execute_known_tool ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_assemble_answer_basic ... ok
[INFO] [stdout] test tools::registry::tests::test_registry_execute_unknown_tool ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_run_plan_and_solve_basic ... ok
[INFO] [stdout] test tools::registry::tests::test_registry_get ... ok
[INFO] [stdout] test tui::app::tests::test_app_default_matches_new ... ok
[INFO] [stdout] test tui::app::tests::test_apply_cron_input_empty_cancels ... ok
[INFO] [stdout] test tui::app::tests::test_apply_cron_input_human ... ok
[INFO] [stdout] test tui::app::tests::test_app_new_is_empty ... ok
[INFO] [stdout] test tools::built_ins::tests::test_read_accepts_file_path_alias ... ok
[INFO] [stdout] test tools::built_ins::tests::test_write_and_read_file ... ok
[INFO] [stdout] test tools::built_ins::tests::test_shell_tool_success ... ok
[INFO] [stdout] test tui::app::tests::test_apply_cron_input_raw_cron ... ok
[INFO] [stdout] test tui::app::tests::test_c_clears_errored_in_info_pane ... ok
[INFO] [stdout] test tui::app::tests::test_c_clears_selected_errored_item ... ok
[INFO] [stdout] test tui::app::tests::test_c_command_enters_cron_edit ... ok
[INFO] [stdout] test tui::app::tests::test_c_does_nothing_when_panel_closed ... ok
[INFO] [stdout] test tui::app::tests::test_c_does_not_clear_non_error_item ... ok
[INFO] [stdout] test tui::app::tests::test_click_outside_command_menu_dismisses ... ok
[INFO] [stdout] test tui::app::tests::test_b_key_scrolls_up_one_page ... ok
[INFO] [stdout] test tui::app::tests::test_colon_enters_command_mode ... ok
[INFO] [stdout] test tui::app::tests::test_colon_opens_menu_from_info_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_colon_from_info_pane_enters_command ... ok
[INFO] [stdout] test tui::app::tests::test_click_outside_info_expanded_closes_it ... ok
[INFO] [stdout] test tui::app::tests::test_cron_edit_esc_cancels ... ok
[INFO] [stdout] test tui::app::tests::test_cron_edit_typing ... ok
[INFO] [stdout] test tui::app::tests::test_ctrl_c_quits_from_normal ... ok
[INFO] [stdout] test tui::app::tests::test_e_key_toggles_in_command_mode ... ok
[INFO] [stdout] test tui::app::tests::test_enter_in_info_pane_sets_filter ... ok
[INFO] [stdout] test tui::app::tests::test_click_sidebar_selects_workflow ... ok
[INFO] [stdout] test tui::app::tests::test_cron_edit_backspace ... ok
[INFO] [stdout] test tui::app::tests::test_enter_on_all_logs_clears_filter ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_extract_plan_steps_numbered_dot ... ok
[INFO] [stdout] test tui::app::tests::test_enter_on_item_sets_filter ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_consolidated_collapsed ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_consolidated_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_thought_collapsed ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_thought_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_thought_single_line ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_tool_call_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_esc_from_command_returns_to_info_expanded_context ... ok
[INFO] [stdout] test tui::app::tests::test_esc_closes_info_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_thought_two_lines_collapsed ... ok
[INFO] [stdout] test tui::app::tests::test_entry_row_count_tool_call_collapsed ... ok
[INFO] [stdout] test tui::app::tests::test_esc_in_info_returns_to_workflows ... ok
[INFO] [stdout] test tui::app::tests::test_events_target_correct_workflow ... ok
[INFO] [stdout] test tui::app::tests::test_extract_toml_string_value ... ok
[INFO] [stdout] test tui::app::tests::test_f_key_scrolls_down_one_page ... ok
[INFO] [stdout] test tui::app::tests::test_g_on_all_logs_does_nothing ... ok
[INFO] [stdout] test tui::app::tests::test_g_opens_url_in_info_pane ... ok
[INFO] [stdout] test tui::app::tests::test_g_opens_url_in_info_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_extract_item_key ... ok
[INFO] [stdout] test tui::app::tests::test_full_run_lifecycle ... ok
[INFO] [stdout] test tui::app::tests::test_filter_clears_on_workflow_switch ... ok
[INFO] [stdout] test tui::app::tests::test_info_expanded_selected_resets_on_toggle ... ok
[INFO] [stdout] test tui::app::tests::test_info_resets_on_workflow_switch ... ok
[INFO] [stdout] test tui::app::tests::test_items_summary_event_updates_workflow_items ... ok
[INFO] [stdout] test tools::registry::tests::test_create_registry ... ok
[INFO] [stdout] test tui::app::tests::test_apply_cron_input_invalid_cancels_silently ... ok
[INFO] [stdout] test tui::app::tests::test_key_navigation ... ok
[INFO] [stdout] test tui::app::tests::test_left_switches_to_workflows ... ok
[INFO] [stdout] test tui::app::tests::test_log_for_unknown_workflow_is_ignored ... ok
[INFO] [stdout] test tui::app::tests::test_log_message_appends_to_workflow ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_click_all_logs_clears_filter ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_parse_outline_points_numbered_dot ... ok
[INFO] [stdout] test tui::app::tests::test_looks_like_cron ... ok
[INFO] [stdout] test techniques::skeleton_of_thought::tests::test_parse_outline_points_respects_max ... ok
[INFO] [stdout] test techniques::plan_and_solve::tests::test_extract_plan_steps_step_prefix ... ok
[INFO] [stdout] test tools::built_ins::tests::test_write_creates_parent_dirs ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_click_in_info_pane_selects_item ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_click_in_sidebar ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_click_in_info_pane_sets_log_filter ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_down_starts_selection ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_scroll_up_down ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_drag_clamps_to_panel ... ok
[INFO] [stdout] test tui::app::tests::test_mouse_up_clears_active ... ok
[INFO] [stdout] test tui::app::tests::test_parse_human_cron_case_insensitive ... ok
[INFO] [stdout] test tui::app::tests::test_page_keys_still_work ... ok
[INFO] [stdout] test tui::app::tests::test_parse_human_cron_hours ... ok
[INFO] [stdout] test tui::app::tests::test_parse_human_cron_invalid ... ok
[INFO] [stdout] test tui::app::tests::test_parse_human_cron_minutes ... ok
[INFO] [stdout] test tui::app::tests::test_parse_human_cron_seconds ... ok
[INFO] [stdout] test tui::app::tests::test_q_in_normal_mode_does_not_quit ... ok
[INFO] [stdout] test tui::app::tests::test_multiple_workflows_registered ... ok
[INFO] [stdout] test tui::app::tests::test_panel_hit_test ... ok
[INFO] [stdout] test tui::app::tests::test_navigation_resets_scroll ... ok
[INFO] [stdout] test tui::app::tests::test_pause_returns_to_normal ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_empty_logs ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_consolidates_3_plus_tools ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_groups_consecutive_thoughts ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_no_consolidation_under_3 ... ok
[INFO] [stdout] test tui::app::tests::test_quit_from_command_mode ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_system_lines_stay_separate ... ok
[INFO] [stdout] test tui::app::tests::test_registered_workflow_no_repo ... ok
[INFO] [stdout] test tui::app::tests::test_items_summary_replaces_previous ... ok
[INFO] [stdout] test tui::app::tests::test_right_switches_to_info ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_preserves_expanded_state ... ok
[INFO] [stdout] test tui::app::tests::test_run_completed_failed ... ok
[INFO] [stdout] test tui::app::tests::test_run_completed_sets_item_success ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_orphaned_result ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_pairs_tool_and_result ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_mixed_sequence ... ok
[INFO] [stdout] test tui::app::tests::test_run_id_stored_on_log_line ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_adds_log_with_item_label ... ok
[INFO] [stdout] test tui::app::tests::test_run_id_to_item_mapping ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_resets_stage_statuses ... ok
[INFO] [stdout] test tui::app::tests::test_run_completed_skipped ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_sets_item_in_progress ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_without_item_label ... ok
[INFO] [stdout] test tui::app::tests::test_selected_workflow_changes_with_navigation ... ok
[INFO] [stdout] test tui::app::tests::test_selected_workflow_none_when_empty ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_sets_running_status ... ok
[INFO] [stdout] test tui::app::tests::test_rebuild_preserves_expanded_thought ... ok
[INFO] [stdout] test tui::app::tests::test_scroll_works_in_info_context ... ok
[INFO] [stdout] test tui::app::tests::test_run_started_resets_scroll_to_auto_tail ... ok
[INFO] [stdout] test tui::app::tests::test_session_disabled_workflow_starts_disabled ... ok
[INFO] [stdout] test tui::app::tests::test_shift_b_scrolls_to_beginning ... ok
[INFO] [stdout] test tui::app::tests::test_shift_c_clears_all_errored ... ok
[INFO] [stdout] test tui::app::tests::test_selected_items_empty_when_no_data ... ok
[INFO] [stdout] test tui::app::tests::test_log_messages_accumulate ... ok
[INFO] [stdout] test tui::app::tests::test_shift_f_scrolls_to_end ... ok
[INFO] [stdout] test tui::app::tests::test_shutdown_event_quits ... ok
[INFO] [stdout] test tui::app::tests::test_single_logline_thought_with_newlines_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_single_logline_thought_with_newlines_is_expandable ... ok
[INFO] [stdout] test tui::app::tests::test_run_completed_failure_sets_item_error ... ok
[INFO] [stdout] test tui::app::tests::test_run_completed_success ... ok
[INFO] [stdout] test tui::app::tests::test_stage_failed_sets_failed_and_logs_error ... ok
[INFO] [stdout] test tui::app::tests::test_skipped_run_dedup_updates_in_place ... ok
[INFO] [stdout] test tui::app::tests::test_stage_started_adds_log ... ok
[INFO] [stdout] test tui::app::tests::test_stages_for_issues_are_correct ... ok
[INFO] [stdout] test tui::app::tests::test_stage_completed_sets_done ... ok
[INFO] [stdout] test tui::app::tests::test_stages_for_mode ... ok
[INFO] [stdout] test tui::app::tests::test_stages_for_plan_first_issues_are_correct ... ok
[INFO] [stdout] test tui::app::tests::test_stage_started_sets_running ... ok
[INFO] [stdout] test tui::app::tests::test_stage_event_for_unknown_stage_name_does_not_crash ... ok
[INFO] [stdout] test tui::app::tests::test_shift_c_clears_all_from_info_pane ... ok
[INFO] [stdout] test tui::app::tests::test_stages_for_pr_review_are_correct ... ok
[INFO] [stdout] test tui::app::tests::test_thought_row_count_collapsed_ignores_embedded_newlines ... ok
[INFO] [stdout] test tui::app::tests::test_thought_row_count_with_embedded_newlines ... ok
[INFO] [stdout] test techniques::react::tests::test_run_react_tool_call_then_answer ... ok
[INFO] [stdout] test tui::app::tests::test_skipped_after_non_skipped_creates_new_line ... ok
[INFO] [stdout] test tui::app::tests::test_tick_events_do_not_add_logs ... ok
[INFO] [stdout] test tui::app::tests::test_tick_events_do_not_add_logs ... ok
[INFO] [stdout] test tui::app::tests::test_toggle_adds_log_entries ... ok
[INFO] [stdout] test tui::app::tests::test_toggle_empty_app_does_not_crash ... ok
[INFO] [stdout] test tui::app::tests::test_toggle_selected_workflow ... ok
[INFO] [stdout] test tui::app::tests::test_up_down_in_workflows_selects_workflow_not_glance ... ok
[INFO] [stdout] test tui::app::tests::test_up_down_in_info_pane_navigates_items ... ok
[INFO] [stdout] test tui::app::tests::test_up_down_navigates_info_expanded_when_open ... ok
[INFO] [stdout] test tui::app::tests::test_up_down_switches_workflow_when_panel_closed ... ok
[INFO] [stdout] test tui::app::tests::test_workflow_registered_adds_workflow ... ok
[INFO] [stdout] test tui::app::tests::test_unknown_command_returns_to_normal ... ok
[INFO] [stdout] test tui::app::tests::test_toggle_preserves_success_status_when_re_enabled ... ok
[INFO] [stdout] test tui::app::tests::test_truly_single_line_thought_not_expandable ... ok
[INFO] [stdout] test tui::app::tests::test_workflow_status_display ... ok
[INFO] [stdout] test tui::events::tests::test_noop_sender_many_events ... ok
[INFO] [stdout] test tui::events::tests::test_noop_sender_does_not_panic ... ok
[INFO] [stdout] test tui::events::tests::test_sender_debug_format ... ok
[INFO] [stdout] test tui::app::tests::test_workflows_enabled_by_default ... ok
[INFO] [stdout] test tui::events::tests::test_sender_clone_shares_channel ... ok
[INFO] [stdout] test tui::events::tests::test_tui_event_debug ... ok
[INFO] [stdout] test tui::events::tests::test_sender_survives_dropped_receiver ... ok
[INFO] [stdout] test tui::events::tests::test_sender_delivers_multiple_events_in_order ... ok
[INFO] [stdout] test tui::events::tests::test_active_sender_delivers ... ok
[INFO] [stdout] test tui::events::tests::test_tui_event_is_clone ... ok
[INFO] [stdout] test tui::events::tests::test_workflow_mode_display ... ok
[INFO] [stdout] test tui::session::tests::test_default_session_all_enabled ... ok
[INFO] [stdout] test tui::session::tests::test_toml_deserialize_empty ... ok
[INFO] [stdout] test tui::session::tests::test_session_path ... ok
[INFO] [stdout] test tui::session::tests::test_set_enabled_false ... ok
[INFO] [stdout] test tui::session::tests::test_set_enabled_true_explicitly ... ok
[INFO] [stdout] test tui::session::tests::test_toml_deserialize_missing_enabled ... ok
[INFO] [stdout] test tui::events::tests::test_workflow_mode_equality ... ok
[INFO] [stdout] test tui::session::tests::test_toml_roundtrip ... ok
[INFO] [stdout] test tui::widgets::info::tests::test_status_badge_colors ... ok
[INFO] [stdout] test tui::widgets::info::tests::test_status_badge_labels ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_flatten_newlines_basic ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_flatten_newlines_cr_lf ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_flatten_newlines_empty ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_flatten_newlines_no_newlines ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_truncate_msg_exact ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_truncate_msg_long ... ok
[INFO] [stdout] test tui::widgets::log_view::tests::test_truncate_msg_short ... ok
[INFO] [stdout] test tui::session::tests::test_load_session_missing_file ... ok
[INFO] [stdout] test tui::widgets::info_expanded::tests::test_status_badge_colors ... ok
[INFO] [stdout] test tui::app::tests::test_i_from_info_pane_opens_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_i_key_toggles_info_expanded ... ok
[INFO] [stdout] test tui::app::tests::test_info_expanded_selected_resets_on_items_summary ... ok
[INFO] [stdout] test tui::session::tests::test_toggle_enabled ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_abbreviate_known_stages ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_abbreviate_long_unknown_stage ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_abbreviate_short_unknown_stage ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_every_minute_star_form ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_actual_config_schedules ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_every_n_seconds ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_fallback_for_complex_expressions ... ok
[INFO] [stdout] test tui::session::tests::test_save_and_load_session ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_hourly_at_specific_minute ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_daily_at_time ... ok
[INFO] [stdout] test types::config::tests::agent_loop_config_default ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_every_n_hours ... ok
[INFO] [stdout] test tui::session::tests::test_load_session_corrupt_file ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_every_n_minutes ... ok
[INFO] [stdout] test types::config::tests::harness_config_default_is_empty ... ok
[INFO] [stdout] test types::config::tests::harness_config_primary_model ... ok
[INFO] [stdout] test types::config::tests::github_issues_config_serde ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_fallback_wrong_field_count ... ok
[INFO] [stdout] test tui::widgets::sidebar::tests::test_every_hour ... ok
[INFO] [stdout] test types::config::tests::workflow_config_minimal_toml ... ok
[INFO] [stdout] test types::config::tests::workflow_config_pr_response_toml ... ok
[INFO] [stdout] test types::config::tests::harness_config_validate_empty_models ... ok
[INFO] [stdout] test types::config::tests::harness_config_validate_invalid_provider ... ok
[INFO] [stdout] test types::config::tests::harness_config_validate_ok ... ok
[INFO] [stdout] test types::config::tests::linear_issues_config_minimal ... ok
[INFO] [stdout] test types::config::tests::linear_issues_config_serde ... ok
[INFO] [stdout] test types::config::tests::harness_config_toml_roundtrip ... ok
[INFO] [stdout] test types::config::tests::retry_config_serde ... ok
[INFO] [stdout] test types::config::tests::workflow_config_default ... ok
[INFO] [stdout] test types::config::tests::harness_config_validate_empty_model_name ... ok
[INFO] [stdout] test types::technique::tests::success_result_fields ... ok
[INFO] [stdout] test types::technique::tests::step_type_serde_roundtrip ... ok
[INFO] [stdout] test types::technique::tests::run_result_serde_roundtrip ... ok
[INFO] [stdout] test types::technique::tests::failure_result_fields ... ok
[INFO] [stdout] test types::config::tests::workflow_config_linear_issues_toml ... ok
[INFO] [stdout] test types::config::tests::workflow_config_toml_roundtrip ... ok
[INFO] [stdout] test utils::logger::tests::logger_methods_do_not_panic ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_is_file_path_md ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_is_file_path_no_extension ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_full_fields ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_not_found ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_uses_cwd_when_no_start_given ... ok
[INFO] [stdout] test utils::logger::tests::logger_clone ... ok
[INFO] [stdout] test utils::logger::tests::logger_new_stores_prefix ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_is_file_path_txt ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_is_file_path_prompt ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_is_file_path_with_newlines_is_not_file ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_parse_error ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_found ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_repeated_placeholder ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_inline_string_no_substitution ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_simple ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_inline_string_with_substitution ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_from_file_absolute ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_no_placeholders ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_inline_template ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_empty_template ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_missing_var_unchanged ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_from_file_relative ... ok
[INFO] [stdout] test utils::truncate::tests::test_cjk_characters ... ok
[INFO] [stdout] test utils::truncate::tests::test_empty_string ... ok
[INFO] [stdout] test utils::truncate::tests::test_long_string_truncated ... ok
[INFO] [stdout] test utils::truncate::tests::test_short_string_unchanged ... ok
[INFO] [stdout] test workflows::cron_runner::tests::test_cron_runner_new_creates_instance ... ok
[INFO] [stdout] test utils::config_loader::tests::test_load_config_walks_up ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_substitute_multiple ... ok
[INFO] [stdout] test utils::truncate::tests::test_emoji_boundary_safe ... ok
[INFO] [stdout] test utils::truncate::tests::test_max_zero ... ok
[INFO] [stdout] test utils::truncate::tests::test_exact_length ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_file_then_substitute ... ok
[INFO] [stdout] test workflows::cron_runner::tests::test_cron_runner_no_workflows_is_fine ... ok
[INFO] [stdout] test utils::prompt_loader::tests::test_load_file_not_found_returns_error ... ok
[INFO] [stdout] test workflows::executor::tests::test_extract_review_focus_section_at_end ... ok
[INFO] [stdout] test workflows::executor::tests::test_extract_review_focus_section_missing ... ok
[INFO] [stdout] test workflows::cron_runner::tests::test_schedule_update_struct ... ok
[INFO] [stdout] test workflows::executor::tests::test_extract_review_focus_section ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_focus_for_display ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_focus_for_display_empty ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_focus_for_prompt ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_focus_for_prompt_empty ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_review_placeholder_no_branding ... ok
[INFO] [stdout] test workflows::cron_runner::tests::test_cron_runner_on_run_complete_sets_callback ... ok
[INFO] [stdout] test workflows::executor::tests::test_filter_all_posted_removes_section ... ok
[INFO] [stdout] test workflows::executor::tests::test_is_bot_allows_humans ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_review_placeholder_with_focus ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_just_punctuation ... ok
[INFO] [stdout] test workflows::executor::tests::test_format_review_placeholder_no_focus ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_multiline ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_exact ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_not_approved ... ok
[INFO] [stdout] test workflows::executor::tests::test_is_bot_detects_bots ... ok
[INFO] [stdout] test workflows::executor::tests::test_issue_item_from_github ... ok
[INFO] [stdout] test workflows::executor::tests::test_issue_item_from_linear ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_case_insensitive ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_focus_directives_from_comment ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_focus_directives_no_match ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_focus_directives_review_is_not_focus ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_inline_comments_one ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_timeline_comments_empty ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_with_comma_addendum ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_inline_comments_with_hunk ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_with_period_addendum ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_with_semicolon_addendum ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_approval_with_whitespace ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_timeline_comments_multiple ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_focus_directives_review_with_colon_is_not_focus ... ok
[INFO] [stdout] test workflows::executor::tests::test_parse_focus_directives_case_insensitive ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_inline_comments_no_line ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_timeline_comments_one ... ok
[INFO] [stdout] test workflows::executor::tests::test_resolve_system_prompt_no_blocked_commands ... ok
[INFO] [stdout] test workflows::executor::tests::test_resolve_system_prompt_default_file ... ok
[INFO] [stdout] test workflows::executor::tests::test_resolve_system_prompt_file_path_in_config ... ok
[INFO] [stdout] test workflows::executor::tests::test_truncate_title_long ... ok
[INFO] [stdout] test workflows::executor::tests::test_truncate_title_exact ... ok
[INFO] [stdout] test workflows::executor::tests::test_resolve_system_prompt_no_config_no_file ... ok
[INFO] [stdout] test workflows::executor::tests::test_resolve_system_prompt_inline ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_fetch_issues_options_defaults ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_issue_body_str_none ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_issue_body_str_some ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_none ... ok
[INFO] [stdout] test workflows::executor::tests::test_filter_posted_with_short_filenames ... ok
[INFO] [stdout] test workflows::executor::tests::test_truncate_title_short ... ok
[INFO] [stdout] test workflows::executor::tests::test_filter_posted_inline_observations ... ok
[INFO] [stdout] test workflows::executor::tests::test_render_inline_comments_empty ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_inline_comment_defaults ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_map_raw_pr_extracts_reviewers_and_teams ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_map_raw_pr_handles_missing_fields ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_author_default ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_body_str_none ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_body_str_some ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_body_str_with_value ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_body_str_without_value ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_comment_fields ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_pr_label_name ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_shell_escape_empty ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_shell_escape_simple ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_shell_escape_spaces ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_shell_escape_special_chars ... ok
[INFO] [stdout] test workflows::github_prs::tests::test_shell_escape_with_single_quote ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_fetch_options_defaults ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_linear_issue_description_str_none ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_linear_issue_description_str_some ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_parse_graphql_response ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_parse_graphql_response_empty_nodes ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_parse_graphql_response_null_assignee ... ok
[INFO] [stdout] test workflows::linear_issues::tests::test_parse_graphql_response_with_errors ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_disallowed_tools_claude ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_disallowed_tools_codex_empty ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_disallowed_tools_gemini_empty ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_env_set_missing ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_format_reviews_for_consolidation ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_load_workspace_conventions_agents_md_fallback ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_load_workspace_conventions_empty_dir ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_with_hyphen_in_name ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_load_workspace_conventions_with_skill ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_model_display_name_anthropic ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_simple ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_model_display_name_openai ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_load_workspace_conventions_with_claude_md ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_model_display_name_unknown ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_reviewer_model_techniques ... ok
[INFO] [stdout] test workflows::multi_review::tests::test_reviewer_model_names ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_agent_loop_stage_name ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_empty_string ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_https_with_hyphen_and_dot ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_includes_prior_answer_when_no_reflection ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_reflection_only_no_prior_result ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_ssh_no_dot_git ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_allowed_commands ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_disallowed_commands ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_extract_tool_calls_empty ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_extract_tool_calls_with_blocks ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_review_seems_incomplete ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_review_tool_definitions ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_with_reflection_replaces_raw_answer ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_summarize_tool_args ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_task_no_prior ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_with_dot_in_name ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_truncate_tool_output_small ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_claude_adapter_required_flags ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_review_tool_registry_has_expected_tools ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_task_text_empty_answer ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_codex_adapter_args ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extract_claude_empty_input ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extra_flags_merged ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extract_claude_final_answer_not_found ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extract_claude_final_answer_found ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extract_claude_malformed_json_skipped ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_extract_claude_skips_non_result_events ... ok
[INFO] [stdout] test workflows::stages::api_review_loop::tests::test_truncate_tool_output_large ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_claude_adapter_model_override ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_task_with_prior_answer_no_reflection ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_bash ... ok
[INFO] [stdout] test workflows::stages::agent_loop::tests::test_build_resume_task_text_with_prior_answer_truncated ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_non_object ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_read ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_gemini_adapter_args ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_empty ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_large_input_summarized ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_steps_indexed ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_text_and_tool_use ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_tool_use_metadata ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_grep ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_empty_output ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_format_tool_input_write_large_content ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_malformed_lines_skipped ... ok
[INFO] [stdout] test workflows::stages::external_agent_loop::tests::test_parse_claude_stream_result_only ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_arbitrary_string ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_https_no_git ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_ssh_url ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_reply_body_generic ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_reply_body_no_line ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_reply_body_with_relevant_line ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_summary_body_empty_agent_output ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_summary_body_with_content ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_extract_clean_summary_all_json ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_build_summary_body_no_sha ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_extract_clean_summary_empty ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_extract_clean_summary_filters_json ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_extract_clean_summary_truncates ... ok
[INFO] [stdout] test workflows::stages::pr_comment_responder::tests::test_pr_comment_responder_stage_name ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_fallback_title_from_branch ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_fallback_empty_diff ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_empty_input ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_multiline_body ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_no_title ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_title_and_body ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_title_only ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_collapse_excess_blank_lines ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_collapse_preserves_double_blanks ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_fix_markdown_spacing_code_fence ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_fix_markdown_spacing_heading_needs_blank_line_before ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_ssh_with_hyphen ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_fix_markdown_spacing_hr_already_spaced ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_fix_markdown_spacing_hr_needs_blank_lines ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_fix_markdown_spacing_preserves_normal_text ... ok
[INFO] [stdout] test workflows::stages::pr_description::tests::test_parse_body_inline ... ok
[INFO] [stdout] test providers::tests::resolve_anthropic ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_from_text_prefers_structured ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_multiline_body ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_none ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_multiple ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_https_with_path ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_from_text_fallback ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_empty_body_skipped ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_inline_comments_single ... ok
[INFO] [stdout] test workflows::github_issues::tests::test_repo_to_gh_identifier_https_url ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_list_bold_backtick ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_basic ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_in_summary_block ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_missing ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_out_of_range ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_with_branding_prefix ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_score_with_suffix ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_summary_absent ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_summary_multiline ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_summary_present ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_with_description_label ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_summary_with_heading_prefix ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_approved ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_in_summary_block ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_lgtm ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_summary_with_hash_prefix ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_not_approved ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_with_branding_prefix ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_with_emoji ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_strip_leading_emojis ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_strip_preamble_all_plain_text ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_verdict_unknown ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_strip_preamble_no_preamble ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_strip_preamble_with_permission_message ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_config_takes_priority ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_empty ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_bold_backtick ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_bold_no_backtick ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_fallback ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_from_pr_title ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_parse_markdown_inline_list_backtick ... ok
[INFO] [stdout] test workflows::stages::pr_review_poster::tests::test_strip_preamble_empty ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_from_task_first_line ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_pr_title_over_task ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_pr_url_regex_not_found ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_pr_url_regex ... ok
[INFO] [stdout] test workflows::stages::review_feedback_loop::tests::test_review_feedback_loop_name ... ok
[INFO] [stdout] test workflows::stages::reviewer::tests::test_approval_score_value ... ok
[INFO] [stdout] test workflows::stages::reviewer::tests::test_approval_token_detection ... ok
[INFO] [stdout] test workflows::stages::reviewer::tests::test_approval_token_value ... ok
[INFO] [stdout] test workflows::stages::reviewer::tests::test_clean_approval_token_from_output ... ok
[INFO] [stdout] test workflows::stages::reviewer::tests::test_no_approval_token ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_pull_request_stage_name ... ok
[INFO] [stdout] test workflows::stages::pull_request::tests::test_derive_commit_message_truncates_long_task ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_cooldown_minutes_backoff ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_consecutive_failures_increase_count ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_failure_cooldown_store_empty_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_failure_cooldown_store_missing_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_clear_failure_exits_cooldown ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_different_workflows_independent ... ok
[INFO] [stdout] test providers::tests::resolve_openai ... ok
[INFO] [stdout] test workflows::stages::pr_checkout::tests::test_sets_branch_from_reviewing_pr ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_get_failures_for_workflow_empty ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_handled_issue_store_missing_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_no_failure_not_in_cooldown ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_get_failures_for_workflow_returns_matching ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_pr_response_store_missing_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_pr_review_store_missing_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_run_store_missing_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_run_store_empty_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_get_failures_for_workflow_excludes_other ... ok
[INFO] [stdout] test providers::tests::resolve_ollama ... ok
[INFO] [stdout] test workflows::stores::tests::test_get_issues_in_state_empty ... ok
[INFO] [stdout] test workflows::stores::tests::test_backward_compat_state_none ... ok
[INFO] [stdout] test workflows::stores::tests::test_get_record_returns_none_for_missing ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_handled_issue_store_empty_file ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_empty_file ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_stores_recreate_after_deletion ... ok
[INFO] [stdout] test workflows::stores::tests::test_get_issues_in_state_filters_by_state ... ok
[INFO] [stdout] test workflows::stages::parse::tests::test_parse_returns_task ... ok
[INFO] [stdout] test workflows::stores::failure_cooldown_tests::test_record_failure_enters_cooldown ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_handles_missing_file ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_cross_workflow_isolation ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_mark_with_pr_url ... ok
[INFO] [stdout] test workflows::stores::tests::test_get_record_returns_record ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_mark_without_pr_url ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_overwrite_updates_record ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_multiple_issues_same_workflow ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_handles_missing_file ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_cross_workflow_isolation ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_mark_and_check ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_unmark_nonexistent_does_not_error ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_unmark ... ok
[INFO] [stdout] test workflows::stores::tests::test_handled_issue_store_persists_across_instances ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_remove_record ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_cross_workflow_isolation ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_tracks_both_cursors_independently ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_persists_across_instances ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_empty_file_returns_none ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_get_none ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_handles_missing_file ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_roundtrip ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_overwrite ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_persists_across_instances ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_empty_file_returns_none ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_overwrite ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_empty ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_roundtrip ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_remove_nonexistent_ok ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_append_and_history ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_response_store_remove_nonexistent_ok ... ok
[INFO] [stdout] test workflows::stores::tests::test_pr_review_store_remove ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_get_workflow_names ... ok
[INFO] [stdout] test workflows::workflow::tests::test_full_text_no_context ... ok
[INFO] [stdout] test workflows::workflow::tests::test_full_text_with_context ... ok
[INFO] [stdout] test workflows::workflow::tests::test_make_skipped_result_has_completed_at ... ok
[INFO] [stdout] test workflows::workflow::tests::test_make_skipped_result_no_error ... ok
[INFO] [stdout] test workflows::workflow::tests::test_make_skipped_result_with_error ... ok
[INFO] [stdout] test workflows::workflow::tests::test_parsed_task_new ... ok
[INFO] [stdout] test workflows::workflow::tests::test_parsed_task_serde_roundtrip ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_persists_across_instances ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_list_run_logs_empty ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_append_preserves_all_fields ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_get_last_run ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_list_run_logs_returns_sorted ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_workflow_log_appends_entries ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_filters_by_workflow ... ok
[INFO] [stdout] test workflows::workspace::tests::test_expand_repo_url_already_https ... ok
[INFO] [stdout] test workflows::workspace::tests::test_expand_repo_url_already_ssh ... ok
[INFO] [stdout] test workflows::stores::tests::test_run_store_limit_respects_count ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_workflow_log_creates_file ... ok
[INFO] [stdout] test workflows::workspace::tests::test_expand_repo_url_https_shorthand ... ok
[INFO] [stdout] test workflows::workspace::tests::test_expand_repo_url_shorthand_https_default ... ok
[INFO] [stdout] test workflows::workspace::tests::test_expand_repo_url_ssh_shorthand ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_from_https_url ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_from_ssh_url ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_no_git_suffix ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_simple_name ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_trailing_slash ... ok
[INFO] [stdout] test workflows::workspace::tests::test_repo_slug_with_dashes ... ok
[INFO] [stdout] test workflows::workspace::tests::test_resolve_repo_url_from_config ... ok
[INFO] [stdout] test workflows::workspace::tests::test_resolve_repo_url_from_target_repo ... ok
[INFO] [stdout] test workflows::workspace::tests::test_resolve_repo_url_missing_errors ... ok
[INFO] [stdout] test workflows::workspace::tests::test_workspaces_dir_custom ... ok
[INFO] [stdout] test workflows::workspace::tests::test_workspaces_dir_default ... ok
[INFO] [stdout] test workflows::workspace::tests::test_workspaces_dir_tilde_expansion ... ok
[INFO] [stdout] test workflows::stores::tests::test_update_state_transitions ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_workflow_log_complete_sets_status ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_workflow_log_file_path_structure ... ok
[INFO] [stdout] test workflows::workflow_log::tests::test_read_run_log_roundtrip ... ok
[INFO] [stdout] test workflows::stages::pr_checkout::tests::test_reviewing_pr_takes_priority ... ok
[INFO] [stdout] test workflows::stages::pr_checkout::tests::test_sets_branch_from_responding_pr ... ok
[INFO] [stdout] test workflows::stages::trigger::tests::test_trigger_captures_stdout ... ok
[INFO] [stdout] test workflows::stages::parse::tests::test_parse_none_returns_skip_signal ... ok
[INFO] [stdout] test workflows::stages::parse::tests::test_parse_preserves_task_context ... ok
[INFO] [stdout] test workflows::stages::parse::tests::test_parse_no_metadata_treats_as_empty ... ok
[INFO] [stdout] test workflows::stages::pr_checkout::tests::test_errors_when_no_pr_set ... ok
[INFO] [stdout] test workflows::stages::trigger::tests::test_trigger_missing_config_errors ... ok
[INFO] [stdout] test workflows::stages::trigger::tests::test_trigger_multi_line_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 642 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.97s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sousdev-6afc717ffd753add)
[INFO] [stderr]    Doc-tests sousdev
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ab0444fdecf83d3e0bb623dafd2acd501a837ef20a7ea00fc424f7770ddf334b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab0444fdecf83d3e0bb623dafd2acd501a837ef20a7ea00fc424f7770ddf334b", kill_on_drop: false }`
[INFO] [stdout] ab0444fdecf83d3e0bb623dafd2acd501a837ef20a7ea00fc424f7770ddf334b
